While network communication among networked computers, including the use of the Internet, has many advantages, one downside to network communication is that it may render networked computers susceptible to leaking confidential or proprietary information. To illustrate, many programming languages (e.g., C, C++ and Java) have compilers which compile source code to an executable binary file. During development of these executable programs, a debug information section (e.g., using DWARF, Microsoft Program Database (PDB), or other debugging tools) may be inserted to aid developers to diagnose and associate portions of binary code to particular source code lines. Many modern compilers produce extremely detailed debug information.
Such debug information may permit one to reverse engineer logic of binary files to human understandable source code. Thus, if a developer communicates via network communication a binary executable that has detailed debug information to a network destination outside of research and development boundaries of an organization, then a great deal of intellectual property and/or confidential information may be placed at risk. Typically, organizations have release process procedures in place to produce optimized executables without debug information, but in cases of extreme haste, (e.g., when a critical patch is quickly needed), a typical release process may be circumvented, and with human error, debug information could be distributed causing potentially harmful data leakage by human mistake.